package com.sinosoft.dsp.persistence.hibernate.bo;

import java.util.List;

import com.sinosoft.dsp.persistence.exception.SinoPersistenceException;
import com.sinosoft.dsp.system.entity.ISecurityUser;

public interface SystemSecurityBo {

	/**
	 * 通过名称获得唯一的用户
	 * 
	 * @param username
	 * @return
	 * @throws SinoPersistenceException
	 */
	public ISecurityUser findUserByLoginName(String username)
			throws SinoPersistenceException;

	/**
	 * 通过用户Id获得用户拥有的导航ID集
	 * 
	 * @param userId
	 * @return
	 * @throws SinoPersistenceException
	 */
	public List<?> getUserNaviIdSet(String userId)
			throws SinoPersistenceException;

	/**
	 * 通过用户ID获得用户所在的组织机构ID集
	 * 
	 * @param userId
	 * @return
	 * @throws SinoPersistenceException
	 */
	public List<?> getUserOrgIdSet(String userId)
			throws SinoPersistenceException;

	/**
	 * 通过用户ID获得用户角色ID集
	 * 
	 * @param userId
	 * @return
	 * @throws SinoPersistenceException
	 */
	public List<?> getUserRoleIdSet(String userId)
			throws SinoPersistenceException;
}
